
#include "graphics.h"
#include "3dx.h"
#include "3d_primitives.h"
#include "3d_terrain.h"
#include "pmodel.h"
#include "dotxsi.h"

namespace WtfEngine {
	void RegisterDataTypes() {
		DataManager * pDm = &DataManager::GetInstance();

		pDm->RegisterType("CompoundModel", &PhysicalModels::Compound::Load);

		pDm->RegisterType("PrimitiveModel", &WtfGraphics::PrimitiveModel::Load);
		pDm->RegisterType("Oblong", &WtfGraphics::Primitives::Oblong::Load);
		pDm->RegisterType("Cube", &WtfGraphics::Primitives::Cube::Load);
		pDm->RegisterType("Sphere", &WtfGraphics::Primitives::Sphere::Load);
		pDm->RegisterType("Cylinder", &WtfGraphics::Primitives::Cylinder::Load);

		pDm->RegisterType("Material", &WtfGraphics::Material::Load);
		pDm->RegisterType("MaterialBinding", &WtfGraphics::MaterialBinding::Load);
		pDm->RegisterType("DefaultDiffuseTextureMaterial", &WtfGraphics::DefaultDiffuseTextureMaterial::Load);

		pDm->RegisterType("XMesh", &WtfGraphics::XMaterial::Load);
		pDm->RegisterType("XModel", &WtfGraphics::XModel::Load);
		pDm->RegisterType("XMaterial", &WtfGraphics::XMaterial::Load);

		pDm->RegisterType("XsiMesh", &WtfGraphics::XsiMesh::Load);
		pDm->RegisterType("XsiModel", &WtfGraphics::XsiModel::Load);

		pDm->RegisterType("Heightmap", &WtfEngine::Heightmap::Load);
		pDm->RegisterType("Terrain", &WtfGraphics::Terrain::Load);
		pDm->RegisterType("Tileset", &WtfGraphics::Tileset::Load);
	};
};

